/*
 * @Description: 静态文件下载：二进制文件转word、excel
 * @Date: 2024-10-25 14:32:50
 */
const downloadStatic = {
  // 下载 Excel 方法
  excel: (data: Blob, fileName: string) => {
    //application/vnd.ms-excel
    download(data, fileName, 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8');
  },
  // 下载 Word 方法
  word: (data: Blob, fileName: string) => {
    download(data, fileName, 'application/msword');
  },
  // 下载 Zip 方法
  zip: (data: Blob, fileName: string) => {
    download(data, fileName, 'application/zip');
  },
  // 下载 Html 方法
  html: (data: Blob, fileName: string) => {
    download(data, fileName, 'text/html');
  },
  // 下载 Markdown 方法
  markdown: (data: Blob, fileName: string) => {
    download(data, fileName, 'text/markdown');
  },
};

const download = (data: Blob, fileName: string, mineType: string) => {
  // 创建 blob
  const blob = new Blob([data], { type: mineType });
  // 创建 href 超链接，点击进行下载
  window.URL = window.URL || window.webkitURL;
  const href = URL.createObjectURL(blob);
  const downA = document.createElement('a');
  downA.href = href;
  downA.download = fileName;
  downA.click();
  // 销毁超连接
  window.URL.revokeObjectURL(href);
};

export default downloadStatic;
